package com.youlai.common.base;

import org.apache.ibatis.session.RowBounds;

import java.io.Serializable;
import java.util.List;

/**
 * mapper基础类
 * 可以去掉 继承的Mapper，需要修改 MapperConfig 里面的MapperScan 为 org.mybatis.spring.annotation.MapperScan
 * 如果 extends tk.mybatis.mapper.common.Mapper<T> 需要 import tk.mybatis.spring.annotation.MapperScan;
 *
 * @param <T>  操作的对象类型
 * @param <ID> id
 * @author
 * @ClassName: BaseMapper
 * @date
 */
public interface LtBaseMapper<T, ID extends Serializable> extends com.github.yulichang.base.MPJBaseMapper<T> {

    List<T> queryPage(Object param, RowBounds rowBounds);

    Long queryPageCount(Object param);

//    int removeByPrimaryKey(T record);
//
//    int removeByEntity(T record);
//
//    int enableByPrimaryKey(T record);
//
//    int disableByPrimaryKey(T record);

    T queryByPrimaryKey(ID id);

    List<T> queryList(T record);

    Long queryCount(T record);

    Double queryStat(T record);

    List<T> queryGroup(T record);
}
